<?php

//先在这里写一个PDO连接当前指定的数据库
try{
    $dsn="mysql:host=127.0.0.1;dbname=shop_nihao139_c";
//    初始化一个到后台没有sql数据库的PDO对象
    $pdo = new PDO($dsn,'shop_nihao139_c','aiKAwj4mTjrQwGHb');
}catch (PDOException $exception){
    die("Error!:".$exception->getMessage().'<br/>');
}
$sql = "select * from orders";
foreach ($pdo->query($sql) as $value){
    echo "<pre>";
    print_r($value);
}


//从input流中获取微信以xml格式返回的数据
$data = file_get_contents('php://input');
//测试的时候可以使用下面的方式,省得每次都要支付花钱
/*
$data = <<<xml
<xml><appid><![CDATA[wx426b3015555a46be]]></appid>
<attach><![CDATA[154415236676887]]></attach>
<bank_type><![CDATA[CFT]]></bank_type>
<cash_fee><![CDATA[1]]></cash_fee>
<fee_type><![CDATA[CNY]]></fee_type>
<is_subscribe><![CDATA[N]]></is_subscribe>
<mch_id><![CDATA[1900009851]]></mch_id>
<nonce_str><![CDATA[2wlaxm0ge0xsr6djlabqq1bfdxubrm9a]]></nonce_str>
<openid><![CDATA[oHZx6uBlQ1oxk-zf4m0kq4hsGy44]]></openid>
<out_trade_no><![CDATA[sdkphp12345678920181206134609]]></out_trade_no>
<result_code><![CDATA[SUCCESS]]></result_code>
<return_code><![CDATA[SUCCESS]]></return_code>
<sign><![CDATA[2CD7D21259543AAF55DBF49109FA10E44F080624C2926F89DA8DE267FF39940D]]></sign>
<time_end><![CDATA[20181206135110]]></time_end>
<total_fee>1</total_fee>
<trade_type><![CDATA[NATIVE]]></trade_type>
<transaction_id><![CDATA[4200000214201812061358370032]]></transaction_id>
</xml>
xml;
*/
//将最原始的数据放到data.php这个文件中
file_put_contents('data.php',$data);
//使用php中的方法将xml字符串转成php中的对象,方便后续处理
$res = simplexml_load_string($data,'SimpleXMLElement',LIBXML_NOCDATA);
//如果微信返回的信息中return_code为SUCCESS表示用户支付成功
if ($res->return_code == 'SUCCESS'){
        //进入这个方法体说明用户已经支付成功,然后先获取支付成功的订单编号
    $orderId = $res->attach;
    //修改数据库中相应订单编号的状态
    $result = $pdo->exec("update orders set status='已付款' where order_num=$orderId");
    if ($result){
        //进入这个判断体中说明上面支付成功的订单已经修改过了

    }
}
echo  "<pre>";
print_r($res);
